package com.lonely.system.domain.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.lonely.common.core.domain.BaseEntity;
import com.lonely.common.enums.UserStatus;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 用户对象 sys_user
 *
 * @author fzzf
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_user")
public class SysUser extends BaseEntity {

    /**
     * 工厂id
     */
    private Long factoryId;

    /**
     * 产线id
     */
    private Long productionLineId;

    /**
     * 用户账号
     */
    private String userName;

    /**
     * 用户昵称
     */
    private String nickName;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * 用户性别（0男 1女 2未知）
     */
    private Integer sex;

    /**
     * 头像地址
     */
    private String avatar;

    /**
     * 密码
     */
    private String password;

    /**
     * 生产工种
     * @see com.lonely.system.enums.SysProductionLineEnum.WorkTypeEnum
     */
    private Integer workType;

    /**
     * 职位标签
     */
    private String positionTag;

    /**
     * 账号状态（0正常 1停用）
     *
     * @see UserStatus
     */
    private Integer status;

    /**
     * 最后登录IP
     */
    private String loginIp;

    /**
     * 最后登录时间
     */
    private Date loginDate;


    public boolean isAdmin() {
        return isAdmin(this.getId());
    }

    public static boolean isAdmin(Long userId) {
        return userId != null && 1L == userId;
    }

}
